group { name: "e/widgets/menu/default/background";
   parts {
      part { name: "base"; type: RECT; mouse_events: 0;
         description { state: "default" 0.0;
            color_class: "/bg/normal/menu/base";
         }
      }
      part { name: "clip"; type: RECT; mouse_events: 0;
         description { state: "default" 0.0;
            rel.to: "base";
         }
      }
      part { name: "e.text.title"; type: TEXT; mouse_events: 0;
         scale: 1;
         description { state: "default" 0.0;
            rel1.relative: 0.0 0.0;
            rel1.offset: 1 0;
            rel2.relative: 1.0 0.0;
            rel2.offset: -2 -1;
            align: 0.5 0.0;
            color_class: "/fg/normal/menu/title";
            max: 0 0;
            text { font: FNBD; size: 10;
               text_class: "menu_title";
               align: 0.5 0.0;
               min: 0 0;
            }
            fixed: 0 1;
            visible: 0;
            offscale;
         }
         description { state: "active" 0.0;
            inherit: "default" 0.0;
            rel1.offset: 1 3;
            rel2.offset: -2 3;
            max: 99999 99999;
            text.min: 0 1;
            visible: 1;
         }
      }
      part { name: "e.swallow.content"; type: SWALLOW;
         clip_to: "clip";
         scale: 1;
         description { state: "default" 0.0;
            rel1.to_y: "base";
            offscale;
         }
         description { state: "active" 0.0;
            inherit: "default" 0.0;
            rel1.relative: 0.0 1.0;
            rel1.offset: 0 5;
            rel1.to_y: "e.text.title";
         }
      }
   }
   programs {
      program { signal: "e,action,show,title"; source: "e";
         action: STATE_SET "active" 0.0;
         target: "e.text.title";
         target: "e.swallow.content";
      }
      program { signal: "e,action,hide,title"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "e.text.title";
         target: "e.swallow.content";
      }
   }
}

group { name: "e/widgets/menu/default/separator";
   parts {
      part { name: "base"; type: RECT;
         scale: 1;
         description { state: "default" 0.0;
            rel1.offset: 0 10;
            rel2.offset: -1 -11;
            min: 0 1;
            color_class: "/fg/normal/separator/menu";
            offscale;
         }
      }
   }
}

group { name: "e/widgets/menu/default/item_bg";
   alias: "e/widgets/menu/default/submenu_bg";
   parts {
      part { name: "base"; type: RECT; mouse_events: 0;
         description { state: "default" 0.0;
            color_class: "/bg/selected/menu/item/base";
            visible: 0;
         }
         description { state: "active" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "e.swallow.content"; type: SWALLOW;
         scale: 1;
         description { state: "default" 0.0;
            rel1.relative: 0.0 0.0;
            rel1.offset: 4 4;
            rel2.offset: -5 -5;
            min: 0 17;
            offscale;
         }
      }
      part { name: "events"; type: RECT;
         description { state: "default";
            color: 0 0 0 0; // no cc
         }
      }
   }
   programs {
      program { signal: "e,state,selected"; source: "e";
         action: STATE_SET "active" 0.0;
         target: "base";
      }
      program { signal: "e,state,unselected"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "base";
      }
   }
}

group { name: "e/widgets/menu/default/icon";
   parts {
      part { name: "clip"; type: RECT; mouse_events: 0;
         description { state: "default" 0.0;
            color: 255 255 255 255; // no cc
         }
         description { state: "disabled" 0.0;
            color: 255 255 255 64; // no cc
         }
      }
      part { name: "e.swallow.content"; type: SWALLOW;
         clip_to: "clip";
         scale: 1;
         description { state: "default" 0.0;
            min: 16 16;
            rel1.offset: 4 2;
            rel2.offset: -5 -3;
            offscale;
         }
      }
   }
   programs {
      program { signal: "e,state,enable"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "clip";
      }
      program { signal: "e,state,disable"; source: "e";
         action: STATE_SET "disabled" 0.0;
         target: "clip";
      }
   }
}

group { name: "e/widgets/menu/default/label";
   parts {
      part { name: "e.text.label"; type: TEXT; mouse_events: 0;
         scale: 1;
         description { state: "default" 0.0;
            rel1.offset: 4 -1;
            rel2.offset: -5 -1;
            color_class: "/fg/normal/menu/item/text";
            min: 0 16;
            text { font: FN; size: 10;
               min: 1 1;
               ellipsis: -1;
               align: 0.0 0.5;
               text_class: "menu_item";
            }
            offscale;
         }
         description { state: "selected" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/selected/menu/item/text";
         }
         description { state: "disabled" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/disabled/menu/item/text";
         }
      }
   }
   programs {
      program { signal: "e,state,selected"; source: "e";
         action: STATE_SET "selected" 0.0;
         target: "e.text.label";
      }
      program { signal: "e,state,unselected"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "e.text.label";
      }
      program { signal: "e,state,enable"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "e.text.label";
      }
      program { signal: "e,state,disable"; source: "e";
         action: STATE_SET "disabled" 0.0;
         target: "e.text.label";
      }
   }
}

group { name: "e/widgets/menu/default/submenu";
   parts {
      part { name: "base";
         scale: 1;
         description { state: "default" 0.0;
            image.normal: "i-arrow-r";
            rel1.offset: 4 0;
            rel2.offset: -5 -1;
            min: 15 15;
            max: 15 15;
            color_class: "/fg/normal/menu/item/arrow";
            offscale;
         }
         description { state: "selected" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/selected/menu/item/arrow";
         }
      }
   }
   programs {
      program { signal: "e,state,selected"; source: "e";
         action: STATE_SET "selected" 0.0;
         target: "base";
      }
      program { signal: "e,state,unselected"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "base";
      }
   }
}

group { name: "e/widgets/menu/default/check";
   parts {
      part { name: "bg"; type: RECT;
         scale: 1;
         description { state: "default";
            color_class: "/bg/normal/menu/item/check/base";
            aspect: 1.0 1.0; aspect_preference: BOTH;
            rel1.offset: 4 0;
            rel2.offset: -5 -1;
            offscale;
         }
      }
      part { name: "base";
         clip_to: "selected";
         scale: 1;
         description { state: "default" 0.0;
            image.normal: "i-check";
            rel1.offset: 3 0;
            rel2.offset: -4 -1;
            min: 15 15;
            max: 15 15;
            visible: 0;
            offscale;
         }
         description { state: "on" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "selected"; type: RECT;
         description { state: "default" 0.0;
            rel.to: "base";
            color_class: "/fg/normal/menu/item/check/check";
         }
         description { state: "selected" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/selected/menu/item/check/check";
         }
      }
   }
   programs {
      program { signal: "e,state,selected"; source: "e";
         action: STATE_SET "selected" 0.0;
         target: "selected";
      }
      program { signal: "e,state,unselected"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "selected";
      }
      program { signal: "e,state,on"; source: "e";
         action: STATE_SET "on" 0.0;
         target: "base";
      }
      program { signal: "e,state,off"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "base";
      }
   }
}

group { name: "e/widgets/menu/default/radio";
   parts {
      part { name: "bg";
         description { state: "default" 0.0;
            image.normal: "i-radio";
            rel.to: "base";
            color_class: "/bg/normal/menu/item/radio/base";
            visible: 1;
         }
         description { state: "on" 0.0;
            inherit: "default" 0.0;
            visible: 0;
         }
      }
      part { name: "base";
         scale: 1;
         clip_to: "selected";
         description { state: "default" 0.0;
            image.normal: "i-radio";
            rel1.offset: 3 0;
            rel2.offset: -4 -1;
            min: 15 15;
            max: 15 15;
            visible: 0;
            offscale;
         }
         description { state: "on" 0.0;
            inherit: "default" 0.0;
            visible: 1;
         }
      }
      part { name: "selected"; type: RECT;
         description { state: "default" 0.0;
            rel.to: "base";
            color_class: "/fg/normal/menu/item/radio/radio";
         }
         description { state: "selected" 0.0;
            inherit: "default" 0.0;
            color_class: "/fg/selected/menu/item/radio/radio";
         }
      }
   }
   programs {
      program { signal: "e,state,selected"; source: "e";
         action: STATE_SET "selected" 0.0;
         target: "selected";
      }
      program { signal: "e,state,unselected"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "selected";
      }
      program { signal: "e,state,on"; source: "e";
         action: STATE_SET "on" 0.0;
         target: "base";
         target: "bg";
      }
      program { signal: "e,state,off"; source: "e";
         action: STATE_SET "default" 0.0;
         target: "base";
         target: "bg";
      }
   }
}
